<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Open Object Rexx - Interpreter Source Files</title> <meta
http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>

   <h1>Open Object Rexx - Files</h1>

   <h1>Interpreter Behaviour Source Files</h1>

   <p>This directory contains files used to implement the underlying ooRexx
      object behaviour.  The behaviour management includes generated class
      identifiers, tables of statically defined tables, etc.  Many of the
      behaviour files are auto-generated during the build process from a master
      XML file using XSLT transforms.  These auto-generated files are checked in
      to the SVN source tree, but are not intended to be directly altered.
      </p>

   <p>The following is a partial list of the files to be found in this subdirectory.</p>

   <dl>
      <dt><b>PrimitiveClasses.xml</b></dt>
      <dd>The master file defining all of the ooRexx classes (both externally
         available and internal).  Each ooRexx class that is allocated from the
         ooRexx memory heap must be defined in PrimitiveClasses.xml.
         </dd>
      <dt><b>ClassTypeCodes.h</b></dt>
      <dd>The master header file that assigns numeric type codes to each of the
         classes defined in PrimitiveClasses.xml.  This file is generated by the
         ClassTypeCodes.xsl transform file.
         </dd>
      <dt><b>PrimitiveBehaviourNames.h</b></dt>
      <dd>A header file that defines symbol mappings between individual
         class behaviours and the global primitive behaviour array in
         PrimitiveBehaviours.cpp.  This file is generated by the
         PrimitiveBehaviourNames.xsl transform file.</dd>
      <dt><b>PrimitiveBehaviours.cpp</b></dt>
      <dd>The master set of primitive behaviour objects that are referenced by
         created class instances.  This file is generated by the
         PrimitiveBehaviours.xsl transform file.
         </dd>
      <dt><b>VirtualFunctionTable.cpp</b></dt>
      <dd>A static table of virtual function table pointers for each of the
         ooRexx classes.  This table is used for setting/restoring the C++ VFT
         pointers in restored class instances.  This file is generated by the
         VirtualFunctionTable.xsl transform file.
         </dd>
      <dt><b>RexxBehaviour.*</b></dt>
      <dd>The implementation of the class that manages class identifier and
         behaviour information.  All ooRexx classes have an associated behaviour
         object referenced from the header.  For internal classes, this is
         largely just class identification information.  For fully exported
         ooRexx classes, the behaviour object holds the method dictionary and
         scope information.
         </dd>
   </dl>

</body>
</html>

